package com.asen.commons.core.base.service;

import com.asen.commons.core.base.domain.BaseEntry;
import com.asen.commons.core.base.domain.CoreBase;
import com.asen.commons.core.meta.entity.FieldObject;

import java.util.List;
import java.util.Map;

/**
 * 基类
 *
 * @author Gary
 * @version 1.0
 * @date 2021-04-29
 */
public interface CoreBaseService<T extends CoreBase> extends CoreService<T> {

    /**
     * 获取分录Service实现类
     *
     * @param entryName
     * @return
     * @throws Exception
     */
    BaseEntryService getEntryService(String entryName) throws Exception;

    /**
     * 获取分录集合
     *
     * @return
     * @throws Exception
     */
    Map<Class<? extends BaseEntry>, FieldObject> getEntryMap() throws Exception;

    /**
     * 获取从表对象集合
     *
     * @return
     * @throws Exception
     */
    //List<FieldObject> getSubFieldList() throws Exception;
}
